{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "    0: Test accuracy  vs. Iters\n",
    "    1: Test accuracy  vs. Seconds\n",
    "    2: Test loss  vs. Iters\n",
    "    3: Test loss  vs. Seconds\n",
    "    4: Train learning rate  vs. Iters\n",
    "    5: Train learning rate  vs. Seconds\n",
    "    6: Train loss  vs. Iters\n",
    "    7: Train loss  vs. Seconds"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 可视化训练log"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test len: 41\n",
      "train len: 200\n"
     ]
    }
   ],
   "source": [
    "from scanf import scanf\n",
    "\n",
    "# 支持直接处理out文件\n",
    "# 不需要 cat ylimed_iframe_model.out | grep Epoch > ylimed_iframe_model.log\n",
    "'''\n",
    "Iout = './out/ylimed01/log/ylimed_iframe_model.out'\n",
    "Mout = './out/ylimed01/log/ylimed_mv_model.out'\n",
    "Rout = './out/ylimed01/log/ylimed_residual_model.out'\n",
    "'''\n",
    "\n",
    "Iout = './out/ylimed_finetuning01/log/ylimed_iframe_model.out'\n",
    "Mout = './out/ylimed_finetuning01/log/ylimed_mv_model.out'\n",
    "Rout = './out/ylimed_finetuning01/log/ylimed_residual_model.out'\n",
    "OUT = Rout\n",
    "TEST_FRE = 5\n",
    "\n",
    "L = []  # 每个epoch的数据\n",
    "with open(OUT, 'r') as f:\n",
    "    for ln in f:\n",
    "        # 手工调整数字\n",
    "        row = scanf(\"Epoch: [%d][60/%d], lr: %f\\tTime %f (%f)\\tData %f (%f)\\tLoss %f (%f)\\tPrec@1 %f (%f)\\tPrec@5 %f (%f)\\r\", ln)\n",
    "        if row is not None:\n",
    "            #print(row)\n",
    "            L.append(row)\n",
    "            \n",
    "L_Test = []\n",
    "with open(OUT, 'r') as f:\n",
    "    for ln in f:\n",
    "        #row = scanf(\"Test: [180/%d]\\tTime %f (%f)\\tLoss %f (%f)\\tPrec@1 %f (%f)\\tPrec@5 %f (%f)\", ln)\n",
    "        row = scanf(\"Testing Results: Prec@1 %f Prec@5 %f Loss %f\", ln)\n",
    "\n",
    "        if row is not None:\n",
    "            #print(row)\n",
    "            L_Test.append(row)\n",
    "print('test len:', len(L_Test))\n",
    "print('train len:', len(L))\n",
    "# print(L)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "41\n"
     ]
    },
    {
     "data": {
      "image/png": "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\nIhI5/w9LWDb+hdaoFQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f8be8629080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# plt.style.use('ggplot')\n",
    "# This is a bit of magic to make matplotlib figures appear inline in the notebook\n",
    "# rather than in a new window.\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (16, 6) # set default size of plots\n",
    "plt.rcParams['image.interpolation'] = 'nearest'  # 差值方式\n",
    "plt.rcParams['image.cmap'] = 'gray'  # 灰度空间\n",
    "\n",
    "# Iter, Loss_ave, Prec@1_ave  \n",
    "raw = np.array(L)[:, [0,-5,-3]]  # 倒数, 所以前面的手工调整是没有影响的\n",
    "x_axix = raw[:, 0]\n",
    "train_loss = raw[:, 1]\n",
    "train_acys = raw[:, 2]\n",
    "# print(raw)\n",
    "\n",
    "# Loss_ave, Prec@1_ave\n",
    "tst_raw = np.array(L_Test)[:, [-1,-3]]  # 倒数, 所以前面的手工调整是没有影响的\n",
    "print(len(L_Test))\n",
    "x_axixTest = range(0, len(L)+TEST_FRE, TEST_FRE)  # len(L)是epoch数\n",
    "\n",
    "Test_loss = tst_raw[:len(x_axixTest), 0]\n",
    "Test_acys = tst_raw[:len(x_axixTest), 1]\n",
    "\n",
    "\n",
    "#sub_axix = filter(lambda x:x%200 == 0, x_axix)\n",
    "plt.subplot(121)\n",
    "plt.title('')\n",
    "\n",
    "plt.plot(x_axix, train_loss, color='green', label='train loss')\n",
    "plt.plot(x_axixTest, Test_loss, color='red', label='test loss')\n",
    "\n",
    "plt.legend() # 显示图例\n",
    "plt.xlabel('epochs')\n",
    "plt.ylabel('train loss')\n",
    "\n",
    "plt.subplot(122)\n",
    "plt.plot(x_axix, train_acys,  color='green', label='train acc')\n",
    "plt.plot(x_axixTest, Test_acys,  color='red', label='test acc')\n",
    "\n",
    "plt.legend()\n",
    "plt.xlabel('epochs')\n",
    "plt.ylabel('accuracy')\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
